Most conventional computer systems rely on backup utilities to create and store backup copies of original data (e.g., files, tables, databases, raw data, etc.). A full backup is a complete copy of the original data. An incremental or differential backup is a copy of only the portions of the original data that have changed since the latest full backup.
A set of disk files at a common point in time is often referred to as a “policy”. Additionally, a stored representation of the policy in its entirety at a single point in time is often referred to as a “baseline”. Furthermore, a stored representation of changes (or deltas) to a policy as of a point in time is often referred to as a “version”. A particular policy can be reconstituted from a baseline and, if necessary, one or more versions.
Some conventional online backup systems require a system administrator to define a retention period, i.e., a length of time that a backup copy of a policy is to be retained before it is permanently discarded. Such an online backup system stores a baseline of the policy at the onset of the retention period. Then, the conventional online backup system routinely stores versions of the policy as time passes (e.g., every 15 minutes). Additionally, the conventional online backup system routinely combines versions together (e.g., recent 15 minute versions into fewer daily versions, recent daily versions into fewer monthly versions, and so on).
At all times, the baseline contains the oldest data within the system and, eventually, the time difference between the present time and the baseline time reaches the retention period. At this point, the conventional online backup system combines the oldest version and the baseline to create a more-current baseline which remains within the retention period. That is, the conventional online backup system overwrites blocks of the baseline with newer blocks from the oldest version. During this process, the conventional online backup system discards the overwritten blocks of the baseline since these blocks contain data which is now older than the retention period, i.e., expired data. Additionally, once creation of the more-current baseline is complete, the conventional online backup system discards the oldest version since it is no longer needed, i.e., the data within the blocks of the oldest version now resides in the more-current baseline.
Over time, the conventional online backup system periodically repeats the above-described forward rotation of the baseline. That is, the online backup system combines the oldest version and the baseline to create a more-current baseline which remains just within the retention period. Since the overwritten blocks of the baseline now contain expired data and since the oldest version is no longer needed, the overwritten blocks of the baseline and the oldest version are continuously discarded during this baseline rotation process.